package com.thy.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.hospital.common.base.PageResult;
import com.hospital.common.dto.management.module.BackendDoctorInfoDto;
import com.hospital.common.dto.management.module.DoctorQueryDto;
import com.hospital.common.dto.management.module.RegisterDto;
import com.hospital.common.pojo.TDoctorInfo;
import com.hospital.common.pojo.TUser;
import com.hospital.common.vo.management.module.DoctorInfoVo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * <p>
 * 医生信息 服务类
 * </p>
 *
 * @author author
 * @since 2025-09-12
 */
public interface TDoctorInfoService extends IService<TDoctorInfo> {

    List<DoctorInfoVo> getAllDoctor();

    PageResult<DoctorInfoVo> getDoctorByDepartmentAndName(Long departmentId, String name,Long pageNum,Long pageSize);

    DoctorInfoVo getDoctor(Long userId);

    void addDoctor(TUser user, TDoctorInfo doctorInfo);

    void updateDoctor(TDoctorInfo doctorInfo, Long userId);

    void deleteDoctor(Long userId);

    String updateImg(MultipartFile file);

    List<DoctorInfoVo> getDoctorLimit(Integer num);
    PageResult<DoctorInfoVo> getDoctorInPage(Integer pageNum, Integer pageSize);
    List<DoctorInfoVo> getDoctorByDepartment(Long departmentId);
    PageResult<DoctorInfoVo> getDoctorInPageByDepartment(DoctorQueryDto doctorQueryDto);
    void adminUpdateDoctorInfo(BackendDoctorInfoDto backendDoctorInfoDto);
    void register(RegisterDto registerDto);
}
